The cvert function makes a
vertical composition. Each component of the vector is centered in
a column. The baseline of the result is by default the top line
of the resulting composition. For example,
‘f(cvert([a, bb, ccc]), cvert([a^2
+ 1, b^2]))’ formats in Big mode as
f( a , 2 )
bb a + 1
ccc 2
b
There are
several special composition functions that work only as
components of a vertical composition. The cbase
function controls the baseline of the vertical composition; the
baseline will be the same as the baseline of whatever component
is enclosed in cbase. Thus ‘f(cvert([a, cbase(bb), ccc]), cvert([a^2 + 1,
cbase(b^2)]))’ displays as
2
a + 1
a 2
f(bb , b )
ccc
There are also
ctbase and cbbase functions which make
the baseline of the vertical composition equal to the top or
bottom line (rather than the baseline) of that component. Thus
‘cvert([cbase(a / b)]) +
cvert([ctbase(a / b)]) + cvert([cbbase(a /
b)])’ gives
a
a -
- + a + b
b -
b
There should be only one cbase,
ctbase, or cbbase function in a given
vertical composition. These functions can also be written with no
arguments: ‘ctbase()’ is a zero-height object
which means the baseline is the top line of the following item,
and ‘cbbase()’
means the baseline is the bottom line of the preceding item.
The
crule function builds a “rule,” or
horizontal line, across a vertical composition. By itself
‘crule()’ uses
‘-’ characters
to build the rule. You can specify any other character, e.g.,
‘crule("=")’.
The argument must be a character code or vector of exactly one
character code. It is repeated to match the width of the widest
item in the stack. For example, a quotient with a thick line is
‘cvert([a + 1, cbase(crule("=")),
b^2])’:
a + 1
=====
2
b
Finally, the
functions clvert and crvert act exactly
like cvert except that the items are left- or
right-justified in the stack. Thus ‘clvert([a, bb, ccc]) + crvert([a, bb,
ccc])’ gives:
a + a
bb bb
ccc ccc
Like choriz, the vertical compositions accept a
second argument which gives the precedence to use when formatting
the components. Vertical compositions do not support separator
strings.